package com.taobao.demo.goods.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商品实体类（对应 tb_goods 表）
 */

/**
 * 类描述：
 * 
 * @author xhy
 * @date 2025/10/17 18:45
 * @version 1.0.0
 */
@Data  // Lombok注解，自动生成getter/setter
@TableName("tb_goods")  // 关联数据库表名
public class Goods {
    @TableId(type = IdType.AUTO)  // 自增主键（对应PostgreSQL的BIGSERIAL）
    private Long id;

    @TableField("name")  // 对应表中 name 字段
    private String name;  // 商品名称

    @TableField("description")
    private String description;  // 商品描述

    @TableField("main_image")
    private String mainImage;  // 主图URL

    @TableField("price")
    private BigDecimal price;  // 商品价格（精确到分）

    @TableField("stock")
    private Integer stock;  // 库存数量

    @TableField("status")
    private String status;  // 状态：UP=上架，DOWN=下架

    @TableField("category_id")
    private Long categoryId;  // 分类ID

    @TableField("category_name")
    private String categoryName;  // 分类名称（冗余）

    @TableField("create_time")
    private LocalDateTime createTime;  // 创建时间

    @TableField("update_time")
    private LocalDateTime updateTime;  // 更新时间（需在服务层手动更新）

    @TableField("merchant_id")  // 新增：所属商家ID
    private Long merchantId;
}
